package net.hn.hnms.biz.plan.company.service;

import net.hn.hnms.biz.plan.request.*;
import net.hn.hnms.biz.plan.vo.*;
import net.hn.hnms.sys.common.core.domain.ResponsePage;
import net.hn.hnms.sys.common.mybatis.core.page.PageQuery;

import java.util.List;
import java.util.Map;

public interface CompanyService {


    List<PlanMiningVO> selectTotalByMineCode(Map<String, String> map);

    List<PlanMiningVO> selectTotalByMineCode(PlanMiningReq planMining );

    List<PlanDrivageVO> selectDrivageTotalByMineCode(PlanDrivageReq planMining );

    List<PlanWashingVO> selectWashingTotalByMineCode(PlanWashingReq planMining );

    List<PlanOtherVO> selectOtherTotalByMineCode(PlanOtherReq planMining );

    List<DimMiningFaceVO> selectDimMiningFaceTotalByMineCode(DimMiningFaceReq planMining );

    List<DimDrivageFaceVO> selectDimDrivageFaceTotalByMineCode(DimDrivageFaceReq planMining );

    List<PlanOutputVO> selectPlanOutputTotalByMineCode(PlanOutputReq planMining );

    List<ExecutionFootageOutputVO> selectFootageOutputTotalByMineCode(ExecutionFootageOutputReq planMining );

    List<ExecutionOtherVO> selectExecutionOtherTotalByMineCode(ExecutionOtherReq planMining );

    List<ExecutionWashingVO> selectExecutionWashingTotalByMineCode(ExecutionWashingReq planMining );

    List<ExecutionCostVO> selectExecutionCostTotalByMineCode(ExecutionCostReq planMining );

    List<MiningContinuationVo> selectMiningContinuationByMineCode(PlanMiningReq planMining );

    ResponsePage<DimDrivageFaceVO> selectDrivageContinuationByMineCode(PageQuery pageQuery, PlanDrivageReq planMining );

    Map<String,PlanStatisticVO> completeByMineCode(Integer month,String companyCode,String companyName,String mineCode);

    Map<String,PlanStatisticVO> otherPlanByMineCode(Integer month,String companyCode,String companyName,String mineCode);

    ExecutionInfoVO otherActualByCompanyCodeOrMineCodeOrName(Integer month,String companyCode,String companyName,String mineCode);
}
